define(["jquery","template","oms_config/config","comm/toast/toast","ac/template/cache.tpl"],
	function($,$template,$config,$toast,tpl){
	var defaults,navbar = {};

	/**
	 * 加载出错
	 */
	var loadError = function(code){
		var data = {};
		switch (code) {
			case 404:
				data.content = '没有找到页面，请试试别的操作！';
				break;
			default:
				break;
		}
		tpl.initError("content-main");
		$('#content-main').html($template("tpl_cache_error",data));
	}
	/**
	 * 刷新面包屑
	 */
	var refreshCrumb = function(){
		var crumbs = $("#left-navbar").data("crumbs");
		tpl.initCrumb("crumbs");
		$('#crumbs').html($template("tpl_cache_crumb",{crumbs:crumbs}));
	}

	/**
	 * 添加面包屑
	 */
	var addCrumb = function(data){
		var crumbs = $("#left-navbar").data("crumbs");
		var tag = true;
		for(var i=0; i<crumbs.length; i++){
			if(data && data.id == crumbs[i].id){
				tag = false;
				crumbs.length = i+1;
				break;
			}
		}
		if(tag){
			var i = crumbs.length;
			crumbs[i] = data;
		}
		$("#left-navbar").data("crumbs",crumbs);
		refreshCrumb();
	}

	/**
	 * 打开页面
	 */
	var openPage = function(id){
		var params = $('#content-main').removeData("params");
		var navs = $("#left-navbar").data("navs");
		var data = getNavbarData(id,navs);
		if(!data)return;
		addCrumb(data);
		emptyTopbar();
		$.ajax({
		    url: "page/applicationCache/html/cacheSpecialNurse.html", //这里是静态页的地址
		    type: "GET", //静态页用get方法，否则服务器会抛出405错误
		    success: function(ret){
		      	$toast.close(); // 解决 门诊录入在校验中，点击nav跳转时出现的弹框bug
				if(data.resourceList) $('#content-main').data("params",data);
				$config.textByLanguageKey();
				$config.domControlDisplay();
				$('#content-main').html(ret);
		    },
		    error: function(data){
		    	loadError(404);
		    }
		});
	}
	
	/**
	 * 清空 topbar
	 */
	var emptyTopbar = function(){
		$('#topbar').html("");
	}

	/**
	 * 根据名称获取(广度逐层搜索)
	 */
	var getNavbarData = function(id,navs){
		if( navs && navs.length > 0 ){
			for(var i=0; i<navs.length; i++){
				if(navs[i].menuId == id){
					return navs[i];
				}
			}
		}
	}

	/**
	 * 重置面包屑
	 */
	var resetCrumb = function(navbar){
		var navs = $("#left-navbar").data("navs");
		var list = navbar.parents("li:not(:first)").children("a");
		var crumbs = [];
		for(var i=0;i<list.length;i++){
			crumbs[i] = {};
			var id = $(list[i]).attr("data-id");
			crumbs[i] = getNavbarData(id,navs);
		}
		$("#left-navbar").data("crumbs",crumbs);
	}

	/**
	 * 菜单被点击选中事件
	 */
	var onSelect = function(){
		var _this = $(this);
		var id = _this.attr("data-id");
		$("#left-navbar li").removeClass("active");
		_this.parents("li").addClass("active");
		resetCrumb(_this);
		emptyTopbar();
		openPage(id);
	}

	/**
	 * 初始化全局菜单栏数据
	 * 如果传入新数据，则更新
	 */
	var initData = function(params){
		if(params.navs){
			defaults = {
				navs:params.navs
			}
			$("#left-navbar").data("navs",params.navs);
		}else{
			defaults = {
				navs:$("#left-navbar").data("navs")
			}
		}
	}

	/**
	 * 重新初始化导航菜单，慎调
	 */
	navbar.init = function(params){
		initData(params);
		//初始化应用菜单
		tpl.navbarInit("left-navbar");
		$('#left-navbar').html($template("tpl_cache_navbar",{navs:defaults.navs}));
		$('#left-navbar a').click(onSelect);
		$('#left-navbar a').first().click();
	}

	return navbar;
});